home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol285 / tableofc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-03-15  |  12.3 KB  |  347 lines

  1. 100  REM TABLEOFC Program.
  2. 110  REM Documentation.  Table of Contents.
  3. 120  REM Copyright (c) 1983 - 1987 by: Melvin O. Duke.
  4. 130  DATA Genealogy
  5. 140  DATA User's Manual
  6. 150  DATA -7
  7. 160  DATA 1
  8. 170  INDENT = 0
  9. 180  REM Printer Definitions
  10. 190  FORM.FEED$  = CHR$(12)
  11. 200  COMPR.OFF$  = CHR$(18)     : COMPR.ON$ = CHR$(15)
  12. 210  BOLD.OFF$   = CHR$(27)+"F" : BOLD.ON$ = CHR$(27)+"E"
  13. 220  EXPAND.OFF$ = CHR$(18)     : EXPAND.ON$ = CHR$(14)
  14. 230  DASHES$ = "+"+STRING$(54,45)+"+"
  15. 240  TRIM.LINE$ = "(Trim-line)"
  16. 300  REM Program begins here
  17. 310  READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
  18. 320  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  19. 330  GOSUB 920  'For trim line and heading space
  20. 340  FOR I = 1 TO 6 : LPRINT : NEXT I
  21. 350  LPRINT BOLD.ON$;     'Set Emphasized mode
  22. 360  LPRINT EXPAND.ON$;   'Set Expanded Print
  23. 370  LPRINT TAB(TAB.POS-1);TITLE$
  24. 380  LPRINT EXPAND.OFF$;  'Return to normal
  25. 390  LPRINT BOLD.OFF$;    'Return to normal
  26. 400  FOR I = 1 TO 3 : LPRINT : NEXT I
  27. 410  LPRINT BOLD.ON$;     'Set Emphasized mode
  28. 420  LPRINT TAB(TAB.POS+12);"ON DISPLAY"
  29. 430  LPRINT BOLD.OFF$;    'Return to normal
  30. 440  LPRINT : LPRINT : LPRINT
  31. 450  LPRINT TAB(TAB.POS+11);"Version 5.0"
  32. 460  FOR I = 1 TO 11 : LPRINT : NEXT I
  33. 470  LPRINT TAB(TAB.POS+10); DOC.NAME$
  34. 480  LINE.NO = LINE.NO + 27
  35. 490  '
  36. 500  READ REPLY$
  37. 510  REM First, change tildes to quotes
  38. 520  FOR Q = 1 TO LEN(REPLY$)
  39. 530   IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34)
  40. 540  NEXT Q
  41. 550  IF LEFT$(REPLY$,1) = "." THEN GOSUB 1270: GOTO 500
  42. 560  IF LINE.NO > 44 THEN GOSUB 1030
  43. 570  REM Print the line if not a command
  44. 580  LPRINT TAB(TAB.POS);REPLY$
  45. 590  LINE.NO = LINE.NO + 1
  46. 600  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  47. 610  GOTO 500
  48. 620  REM Data for the Copyright Page
  49. 630  DATA ".pa"
  50. 640  DATA " "
  51. 750  DATA ".vt 12"
  52. 760  DATA "Users are encouraged to copy and share"
  53. 770  DATA "the programs with others."
  54. 780  DATA ".vt 5"
  55. 790  DATA "If you are using these programs, you are"
  56. 800  DATA "expected to become a Registered User,"
  57. 810  DATA "by making a contribution to the author"
  58. 815  DATA "of the programs ($45.00 suggested)."
  59. 820  DATA ".sp"
  60. 830  DATA "Melvin O. Duke"
  61. 840  DATA "P. O. Box 20836"
  62. 850  DATA "San Jose, CA  95160"
  63. 860  DATA ".vt 4"
  64. 870  DATA "Copyright (c) 1983 through 1987, by:"
  65. 880  DATA "Melvin O. Duke."
  66. 890  DATA ".sp"
  67. 900  DATA "All rights reserved."
  68. 910  '
  69. 920  REM Top of each page routine
  70. 930  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  71. 940  LPRINT
  72. 950  LPRINT TAB(30); TRIM.LINE$
  73. 960  LPRINT DASHES$ 'Dashes
  74. 970  FOR I = 1 TO 6
  75. 980   LPRINT
  76. 990  NEXT I
  77. 1000  LINE.NO = LINE.NO + 6
  78. 1010  RETURN
  79. 1020  '
  80. 1030  REM Bottom of each page Routine
  81. 1040  IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 1160
  82. 1050  LPRINT TAB(TAB.POS); STRING$(40,45)  'on line 46
  83. 1060  LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 5.0" 'on line 47
  84. 1070  IF PAGE.NO MOD 2 = 1 THEN 1110
  85. 1080  LPRINT TAB(TAB.POS);"Page";PAGE.NO;
  86. 1090  LPRINT TAB(TAB.POS+27);"User's Manual"
  87. 1100  GOTO 1160
  88. 1110  LPRINT TAB(TAB.POS); "User's Manual";
  89. 1120  IF PAGE.NO < 10 THEN DELTA = 34
  90. 1130  IF PAGE.NO >  9 THEN DELTA = 33
  91. 1140  IF PAGE.NO > 99 THEN DELTA = 32
  92. 1150  LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  'on line 48
  93. 1160  LPRINT : LPRINT : LPRINT
  94. 1170  LPRINT DASHES$ 'dashes after 51
  95. 1180  LPRINT TAB(30); TRIM.LINE$
  96. 1190  LPRINT FORM.FEED$;
  97. 1200  PAGE.NO = PAGE.NO + 1
  98. 1210  LINE.NO = 1
  99. 1220  IF REPLY$ = ".eof" THEN 1240  'Bypass after last page
  100. 1230  GOSUB 920  'For top of next page
  101. 1240  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  102. 1250  RETURN
  103. 1260  '
  104. 1270  REM Command Processor
  105. 1280  IF LEFT$(REPLY$,3) = ".h1" THEN 1390
  106. 1290  IF LEFT$(REPLY$,3) = ".h2" THEN 1550
  107. 1300  IF LEFT$(REPLY$,3) = ".h3" THEN 1660
  108. 1310  IF LEFT$(REPLY$,3) = ".sp" THEN 1770
  109. 1320  IF LEFT$(REPLY$,4) = ".eof" THEN 1820
  110. 1330  IF LEFT$(REPLY$,3) = ".pa" THEN 1860
  111. 1340  '
  112. 1350  IF LEFT$(REPLY$,3) = ".vt" THEN 1930
  113. 1360  IF LEFT$(REPLY$,3) = ".pk" THEN 2040
  114. 1370  IF LEFT$(REPLY$,3) = ".in" THEN 2170
  115. 1380  STOP
  116. 1390  REM Head 1 Processor
  117. 1400  FOR I = LINE.NO TO 44
  118. 1410   LPRINT
  119. 1420  NEXT I
  120. 1430  GOSUB 1030  'Bottom of page Routine
  121. 1440  IF PAGE.NO MOD 2 = 0 THEN GOSUB 1860  'For h1 on Odd pages
  122. 1450  LPRINT BOLD.ON$;     'Set emphasized print
  123. 1460  LPRINT EXPAND.ON$;   'Set expanded print
  124. 1470  IF PAGE.NO MOD 2 = 0 THEN ADJUST = -2 ELSE ADJUST = -5
  125. 1480  LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
  126. 1490  LPRINT EXPAND.OFF$;  'Return to normal
  127. 1500  LPRINT BOLD.OFF$;    'Return to non-bold
  128. 1510  LINE.NO = LINE.NO+1
  129. 1520  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  130. 1530  RETURN
  131. 1540  '
  132. 1550  REM Head 2 Processor
  133. 1560  IF LINE.NO = 7 THEN 1580 'skip spacing if at top of page
  134. 1570  IF LINE.NO > 43 THEN GOSUB 1860 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  135. 1580  LPRINT BOLD.ON$;  'Set emphasized print
  136. 1590  LPRINT TAB(TAB.POS+1); RIGHT$(REPLY$,LEN(REPLY$)-4)
  137. 1600  LPRINT BOLD.OFF$; 'Return to normal
  138. 1610  LPRINT
  139. 1620  LINE.NO = LINE.NO + 2
  140. 1630  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  141. 1640  RETURN
  142. 1650  '
  143. 1660  REM Head 3 Processor
  144. 1670  IF LINE.NO = 7 THEN 1690 'skip spacing if at top of page
  145. 1680  IF LINE.NO > 43 THEN GOSUB 1860 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  146. 1690  LPRINT BOLD.ON$;  'Set emphasized print
  147. 1700  LPRINT TAB(TAB.POS+1); RIGHT$(REPLY$,LEN(REPLY$)-4)
  148. 1710  LPRINT BOLD.OFF$; 'Return to normal
  149. 1720  LPRINT
  150. 1730  LINE.NO = LINE.NO + 2
  151. 1740  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  152. 1750  RETURN
  153. 1760  '
  154. 1770  REM Single Space Processor
  155. 1780  IF LINE.NO = 7 THEN 1800
  156. 1790  IF LINE.NO > 44 THEN GOSUB 1860 ELSE LPRINT : LINE.NO = LINE.NO + 1
  157. 1800  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  158. 1810  RETURN
  159. 1820  REM End of File Processor
  160. 1830  GOSUB 1860 'Bottom of Page
  161. 1850  GOTO 4500
  162. 1860  REM Page Eject Processor
  163. 1870  FOR I = LINE.NO TO 44
  164. 1880   LPRINT
  165. 1890   LINE.NO = LINE.NO + 1
  166. 1900  NEXT I
  167. 1910  GOSUB 1030  'Bottom of Page Processing
  168. 1920  RETURN
  169. 1930  REM Vertical Tab Processor
  170. 1940  IF LINE.NO = 7 THEN 2030
  171. 1950  IF LINE.NO > 44 THEN GOSUB 1030  'End of page
  172. 1960  QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  173. 1970  FOR I = 1 TO QTY
  174. 1980   LPRINT
  175. 1990   LINE.NO = LINE.NO + 1
  176. 2000   IF LINE.NO > 44 THEN I = QTY
  177. 2010  NEXT I
  178. 2020  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  179. 2030  RETURN
  180. 2040  REM Pack Processor
  181. 2050  IF LINE.NO > 44 THEN GOSUB 1030
  182. 2060  IF TAB.POS = 8 THEN ADJUST = 4
  183. 2070  IF TAB.POS = 13 THEN ADJUST = 7
  184. 2080  TAB.POS = TAB.POS + ADJUST + INDENT
  185. 2090  WIDTH "lpt1:", 132 'set condensed width
  186. 2100  LPRINT COMPR.ON$;  'Packed printing
  187. 2110  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
  188. 2120  LPRINT COMPR.OFF$; 'Return to normal
  189. 2130  WIDTH "lpt1:", 80  'return to normal
  190. 2140  LINE.NO = LINE.NO + 1
  191. 2150  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  192. 2160  RETURN
  193. 2170  REM Indent Processor
  194. 2180  INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  195. 2190  RETURN
  196. 3000  DATA ".h1 TABLE OF CONTENTS"
  197. 3010  DATA ".sp"
  198. 3020  DATA "INTRODUCTION - - - - - - - - - - - -   1"
  199. 3030  DATA "  OVERVIEW - - - - - - - - - - - - -   1"
  200. 3040  DATA "  CAPABILITIES - - - - - - - - - - -   1"
  201. 3050  DATA "    Display the Genealogy  - - - - -   2"
  202. 3060  DATA "    Print Pedigree Charts (Family       "
  203. 3070  DATA "      Trees) - - - - - - - - - - - -   2"
  204. 3080  DATA "    Print Family Group Sheets  - - -   3"
  205. 3090  DATA "    Produce Descendents Charts - - -   3"
  206. 3100  DATA "    Format the Data Files  - - - - -   3"
  207. 3110  DATA "    Update the Data Files  - - - - -   4"
  208. 3120  DATA "    Prepare the Indexes  - - - - - -   4"
  209. 3130  DATA "    List the Records in the File - -   4"
  210. 3140  DATA "    Printing the Contents of the"
  211. 3150  DATA "      files  - - - - - - - - - - - -   5"
  212. 3160  DATA "    Alphabetical Lists - - - - - - -   5"
  213. 3170  DATA "    Parent/Child Index List  - - - -   5"
  214. 3180  DATA "  BENEFITS/ADVANTAGES  - - - - - - -   6"
  215. 3190  DATA "  RESULTS  - - - - - - - - - - - - -   6"
  216. 3200  DATA "  REQUIREMENTS - - - - - - - - - - -   7"
  217. 3210  DATA "    Hardware Requirements  - - - - -   7"
  218. 3220  DATA "    Software Requirements  - - - - -   8"
  219. 3230  DATA ".sp"
  220. 3240  DATA "GENERAL INFORMATION  - - - - - - - -   9"
  221. 3250  DATA "  DATA ACCESS REQUIREMENTS - - - - -   9"
  222. 3260  DATA "  DESCRIPTION OF FUNCTIONS - - - - -   9"
  223. 3270  DATA "    File Formatting  - - - - - - - -   9"
  224. 3280  DATA "    File Maintenance - - - - - - - -   9"
  225. 3290  DATA "    File Indexes - - - - - - - - - -   9"
  226. 3300  DATA "    Summary Lists  - - - - - - - - -  10"
  227. 3310  DATA "    Detailed Data  - - - - - - - - -  10"
  228. 3320  DATA "    Displaying the Genealogy - - - -  10"
  229. 3330  DATA "    Printing Pedigree Charts - - - -  11"
  230. 3340  DATA "    Printing Family Group Sheets - -  11"
  231. 3350  DATA "    Producing Descendents Charts - -  11"
  232. 3360  DATA ".pa"
  233. 3370  DATA "  DEFINITION OF TERMS  - - - - - - -  12"
  234. 3380  DATA "    Personal Information - - - - - -  12"
  235. 3390  DATA "    Pedigree Information - - - - - -  12"
  236. 3400  DATA "    Family Group Information - - - -  12"
  237. 3410  DATA "    Descendants Information  - - - -  13"
  238. 3420  DATA "    Ordinance Information  - - - - -  13"
  239. 3430  DATA "  EXPLANATION OF GENERAL CONCEPTS  -  14"
  240. 3440  DATA "    Persfile - - - - - - - - - - - -  15"
  241. 3450  DATA "    Marrfile - - - - - - - - - - - -  16"
  242. 3460  DATA "    Pcindex  - - - - - - - - - - - -  17"
  243. 3470  DATA "    Mindex - - - - - - - - - - - - -  17"
  244. 3480  DATA "    Ordfile  - - - - - - - - - - - -  18"
  245. 3490  DATA "    Relationships  - - - - - - - - -  19"
  246. 3500  DATA "  BEFORE YOU START - - - - - - - - -  20"
  247. 3510  DATA "    List of Persons  - - - - - - - -  20"
  248. 3520  DATA "    List of Marriages  - - - - - - -  22"
  249. 3530  DATA ".sp"
  250. 3540  DATA "USING THE PROGRAMS - - - - - - - - -  23"
  251. 3550  DATA "  GETTING STARTED  - - - - - - - - -  23"
  252. 3560  DATA "  FIRST TIME USAGE - - - - - - - - -  25"
  253. 3570  DATA "    Backing up the Diskettes - - - -  25"
  254. 3580  DATA "    Preparing a new Data Diskette  -  25"
  255. 3590  DATA "    Copying the Verifile Data File -  26"
  256. 3600  DATA "    Copying the Menu Program - - - -  27"
  257. 3610  DATA "    Formatting the Data Files  - - -  28"
  258. 3620  DATA "    Caution  - - - - - - - - - - - -  29"
  259. 3630  DATA "  HOW TO OPERATE - - - - - - - - - -  30"
  260. 3640  DATA "    Selecting an individual program   30"
  261. 3650  DATA "    Operating the updatper program -  31"
  262. 3660  DATA "    Operating the updatmar program -  33"
  263. 3670  DATA "    Operating the updatord program -  35"
  264. 3680  DATA "    Operating the indexpc program  -  36"
  265. 3690  DATA "    Operating the indexmar program -  37"
  266. 3700  DATA "    Operating the display program  -  38"
  267. 3710  DATA "    Operating the pedigree program -  41"
  268. 3720  DATA "    Operating the family program - -  42"
  269. 3730  DATA "    Operating the descend program  -  43"
  270. 3740  DATA "    Operating the other programs - -  43"
  271. 3750  DATA ".sp"
  272. 3760  DATA "  HOW TO STOP  - - - - - - - - - - -  44"
  273. 3770  DATA "    Stopping the update programs - -  44"
  274. 3780  DATA "    Stopping the display program - -  44"
  275. 3790  DATA "    Stopping the pedigree program  -  44"
  276. 3800  DATA "    Stopping the family program  - -  45"
  277. 3810  DATA "    Stopping the descend program - -  45"
  278. 3820  DATA "    Stopping the other programs  - -  45"
  279. 3830  DATA ".sp"
  280. 3840  DATA "REFERENCE MATERIAL - - - - - - - - -  47"
  281. 3850  DATA "  SAMPLE SCREENS AND PROMPTING"
  282. 3860  DATA "      MESSAGES - - - - - - - - - - -  47"
  283. 3870  DATA "    Menu Logo  - - - - - - - - - - -  48"
  284. 3880  DATA "    Menu of Programs - - - - - - - -  49"
  285. 3890  DATA "    Display Logo - - - - - - - - - -  50"
  286. 3900  DATA "    Personal Information - - - - - -  52"
  287. 3910  DATA "    Pedigree Information - - - - - -  53"
  288. 3920  DATA "    Family Group Information - - - -  54"
  289. 3930  DATA "    Ordinance Information  - - - - -  55"
  290. 3940  DATA "  COMMANDS USED  - - - - - - - - - -  57"
  291. 3950  DATA "    Basic Command  - - - - - - - - -  57"
  292. 3960  DATA "    Load Command - - - - - - - - - -  57"
  293. 3970  DATA "    Save Command - - - - - - - - - -  57"
  294. 3980  DATA "    Run Command  - - - - - - - - - -  58"
  295. 3990  DATA ".sp"
  296. 4000  DATA "APPENDIX A.  MESSAGES  - - - - - - -  59"
  297. 4010  DATA "  Start-up Messages  - - - - - - - -  59"
  298. 4020  DATA ".sp"
  299. 4030  DATA "APPENDIX B. SUMMARY  - - - - - - - -  61"
  300. 4040  DATA "  General Programs - - - - - - - - -  61"
  301. 4050  DATA "  Data Files - - - - - - - - - - - -  62"
  302. 4060  DATA "  Indexes  - - - - - - - - - - - - -  63"
  303. 4070  DATA "  Documentation  - - - - - - - - - -  63"
  304. 4080  DATA "  Overview Information - - - - - - -  63"
  305. 4090  DATA ".pa"
  306. 4100  DATA "APPENDIX C. HINTS  - - - - - - - - -  65"
  307. 4110  DATA "  Names  - - - - - - - - - - - - - -  65"
  308. 4120  DATA "  Dates  - - - - - - - - - - - - - -  65"
  309. 4130  DATA "  Replacing Information  - - - - - -  65"
  310. 4140  DATA "  Removing a Record  - - - - - - - -  66"
  311. 4150  DATA ".sp"
  312. 4160  DATA "APPENDIX D.  MODIFICATIONS - - - - -  67"
  313. 4170  DATA "  Making Changes - - - - - - - - - -  67"
  314. 4180  DATA "  Color Considerations - - - - - - -  67"
  315. 4190  DATA "  Color Definitions  - - - - - - - -  68"
  316. 4200  DATA "  Changing the Number of Persons - -  68"
  317. 4210  DATA "    Extending Existing Files - - - -  69"
  318. 4220  DATA "  Printing a Partial Alphabetic List  70"
  319. 4230  DATA "  Changing the Number of Marriages -  70"
  320. 4240  DATA "    Extending an Existing File - - -  71"
  321. 4250  DATA "  Printing Partial Files - - - - - -  72"
  322. 4260  DATA "    Partial Printout of Persons  - -  72"
  323. 4270  DATA "    Partial Printout of Marriages  -  72"
  324. 4280  DATA "  Repositioning the Files  - - - - -  73"
  325. 4290  DATA "  Removing Person and Marriage"
  326. 4300  DATA "    Numbers  - - - - - - - - - - - -  74"
  327. 4310  DATA "  Changing the Descendents Chart - -  74"
  328. 4320  DATA "   Making the Descendents Chart"
  329. 4330  DATA "     Continuous  - - - - - - - - - -  74"
  330. 4340  DATA "   Changing the Generations Shown  -  75"
  331. 4350  DATA "  Family Group Binding Space - - - -  75"
  332. 4360  DATA "  Removing the Ordinances File - - -  76"
  333. 4370  DATA "  Changing Sex Designations  - - - -  77"
  334. 4380  DATA "  Utilizing Other Printers - - - - -  77"
  335. 4390  DATA "  Paper Considerations - - - - - - -  78"
  336. 4400  DATA "   Use of Wide Paper - - - - - - - -  79"
  337. 4410  DATA "   Use of Short Paper  - - - - - - -  79"
  338. 4420  DATA "   Use of Single Sheets  - - - - - -  79"
  339. 4430  DATA "  Defining Function Keys - - - - - -  80"
  340. 4440  DATA ".pa"
  341. 4450  DATA "APPENDIX E.  TERMS & CONDITIONS  - -  81"
  342. 4460  DATA "  Terms  - - - - - - - - - - - - - -  81"
  343. 4470  DATA "  Conditions - - - - - - - - - - - -  82"
  344. 4480  DATA "  Disclaimer - - - - - - - - - - - -  82"
  345. 4490  DATA ".eof"
  346. 4500  END
  347.